1. Field of the Invention
The present invention relates to a hierarchical multiprocessor system in which a plurality of clusters, each of which is a multiprocessor wherein a plurality of processors share a memory, and more particularly to an inter-cluster data transfer system and data transfer method for transferring, in these hierarchical multi-processors, data from a processor in one cluster to a processor in another cluster.
2. Description of the Related Art
In Garry Rodrigue, Parallel Computations, Academic Press, 1982, there is described a data transfer formula in a multiprocessor system in which a plurality of processors, each having a local distributed memory, are one-dimensionally combined.
This description of the prior art discloses no data transfer formula for a hierarchical multiprocessor system in which a plurality of clusters, wherein a plurality of processors share a memory, are combined.
According to this prior art, in transferring data, each processor individually designates another processor as destination of transfer.
Therefore, if this prior art is applied to a hierarchical multiprocessor system in which processors in the same cluster share a memory, data transfers from a plurality of processors in a cluster to processors in another cluster may result in repeated transfers of exactly the same data, inviting inefficiency of data transfers.
An object of the present invention is to make possible efficient execution of data transfers between clusters in a hierarchical multiprocessor system in which a plurality of clusters, each of which is a multiprocessor wherein a plurality of processors share a memory.
Another object of the invention is to prevent, where data are transferred between clusters in a hierarchical multiprocessor system, duplicated transfers of the same data and thereby minimize the number of data transfers between clusters.
A first inter-cluster data transfer system according to the invention, for use in a hierarchical multiprocessor system in which a plurality of clusters, each of which is a multiprocessor wherein a plurality of processors share a memory has the following configuration:
each of said clusters includes one master processor, and
said master processor includes transferable data transfer means for transferring data, which are to be transferred from a processor in the cluster to which the master processor belongs to a processor in another cluster, to the master processor of that other cluster.
A second inter-cluster data transfer system according to the invention, for use in a hierarchical multiprocessor system in which a plurality of clusters, each of which is a multiprocessor wherein a plurality of processors share a memory, has the following configuration:
each of said clusters includes one master processor;
said master processor includes transferable data generating means and transferable data transfer means;
said transferable data generating means puts together data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster; and
said transferable data transfer means transfers the data put together by said data generating means to the master processor in the other cluster.
A third inter-cluster data transfer system according to the invention, for use in a hierarchical multiprocessor system in which a plurality of clusters, each of which is a multiprocessor wherein a plurality of processors share a memory, has the following configuration:
each of said clusters includes one master processor; said master processor includes data collecting means, transferable data generating means and transferable data transfer means;
said data collecting means collects data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster;
said transferable data generating means puts together the data collected by said data collecting means to generate transferable data; and
said transferable data transfer means transfers the transferable data generated by said data generating means to the master processor in the other cluster.
A fourth inter-cluster data transfer system according to the invention, for use in a hierarchical multiprocessor system in which a plurality of clusters, each of which is a multiprocessor wherein a plurality of processors share a memory, has the following configuration:
each of said clusters includes one master processor;
said master processor includes data collecting means, transferable data generating means, transferable data transfer means and transferable data receiving means;
said data collecting means collects data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster;
said transferable data generating means puts together the data collected by said data collecting means to generate transferable data;
said transferable data transfer means transfers the transferable data generated by said data generating means to the master processor in the other cluster; and
said transferable data receiving means receives the transferable data transferred from another cluster.
A fifth inter-cluster data transfer system according to the invention, for use in a hierarchical multiprocessor system in which a plurality of clusters, each of which is a multiprocessor wherein a plurality of processors share a memory, has the following configuration:
each of said clusters includes one master processor;
said master processor includes data collecting means, transferable data generating means, transferable data transfer means, transferable data receiving means, and transferable data distributing means;
said data collecting means collects data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster;
said transferable data generating means puts together the data collected by said data collecting means to generate transferable data;
said transferable data transfer means transfers the transferable data generated by said data generating means to the master processor in the other cluster;
said transferable data receiving means receives the transferable data transferred from another cluster; and
said transferable data distributing means distributes the transferable data received by said transferable data receiving means to the processors in the cluster to which it belongs.
A sixth inter-cluster data transfer system according to the invention further has the following configuration in the third inter-cluster data transfer system:
said transferable data generating means generates transferable data by putting together the remaining data after the removal of duplicates from the data collected by said data collecting means from a processor in the cluster to which it belongs.
A seventh inter-cluster data transfer system according to the invention further has the following configuration in the fourth inter-cluster data transfer system:
said transferable data generating means generates transferable data by putting together the remaining data after the removal of duplicates from the data collected by said data collecting means from a processor in the cluster to which it belongs.
An eighth inter-cluster data transfer system according to the invention further has the following configuration in the fifth inter-cluster data transfer system:
said transferable data generating means generates transferable data by putting together the remaining data after the removal of duplicates from the data collected by said data collecting means from a processor in the cluster to which it belongs.
A ninth inter-cluster data transfer system according to the invention further has the following configuration in the third inter-cluster data transfer system:
said data collecting means collects attribute information on the data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster, said information including the initial address and size on the memory in which said data are stored; and
said transferable data generating means generates transferable data by taking out from the memory the data corresponding to the remaining attribute information after the removal of duplicates from the attribute information on the data collected by said data collecting means, and putting together the taken-out data.
A tenth inter-cluster data transfer system according to the invention further has the following configuration in the fourth inter-cluster data transfer system:
said data collecting means collects attribute information on the data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster, said information including the initial address and size on the memory in which said data are stored; and
said transferable data generating means generates transferable data by taking out from the memory the data corresponding to the remaining attribute information after the removal of duplicates from the attribute information on the data collected by said data collecting means, and putting together the taken-out data.
An eleventh inter-cluster data transfer system according to the invention further has the following configuration in the fifth inter-cluster data transfer system:
said data collecting means collects attribute information on the data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster, said information including the initial address and size on the memory in which said data are stored; and
said transferable data generating means generates transferable data by taking out from the memory the data corresponding to the remaining attribute information after the removal of duplicates from the attribute information on the data collected by said data collecting means, and putting together the taken-out data.
A twelfth inter-cluster data transfer system according to the invention further has the following configuration in the third inter-cluster data transfer system:
said data collecting means collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
A thirteenth inter-cluster data transfer system according to the invention further has the following configuration in the fourth inter-cluster data transfer system:
said data collecting means collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
A fourteenth inter-couster data transfer system according to the invention further has the following configuration in the fifth inter-cluster data transfer system:
said data collecting means collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
A fifteenth inter-cluster data transfer system according to the invention further has the following configuration in the sixth inter-cluster data transfer system:
said data collecting means collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
A sixteenth inter-cluster data transfer system according to the invention further has the following configuration in the seventh inter-cluster data transfer system:
said data collecting means collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
A seventeenth inter-cluster data transfer system according to the invention further has the following configuration in the eighth inter-cluster data transfer system:
said data collecting means collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
An eighteenth inter-cluster data transfer system according to the invention further has the following configuration in the ninth inter-cluster data transfer system:
said data collecting means collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
A nineteenth inter-cluster data transfer system according to the invention further has the following configuration in the tenth inter-cluster data transfer system:
said data collecting means collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
A twentieth inter-cluster data transfer system according to the invention further has the following configuration in the eleventh inter-cluster data transfer system:
said data collecting means collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
A first inter-cluster data transfer method according to the invention, for use in a hierarchical multiprocessor system in which a plurality of clusters, each of which is a multiprocessor wherein a plurality of processors share a memory, includes the following procedures:
one master processor included in each of said clusters transfers data, which are to be transferred from a processor in the cluster to which the master processor belongs to a processor in another cluster, to the master processor of that other cluster.
A second inter-cluster data transfer method according to the invention, for use in a hierarchical multiprocessor system in which a plurality of clusters, each of which is a multiprocessor wherein a plurality of processors share a memory, includes the following procedures:
one master processor included in each of said clusters puts together data, which are to be transferred from a processor in the cluster to which the master processor belongs to a processor in another cluster, and transfers them to the master processor of that other cluster.
A third inter-cluster data transfer method according to the invention, for use in a hierarchical multiprocessor system in which a plurality of clusters, each of which is a multiprocessor wherein a plurality of processors share a memory, includes the following procedures:
one master processor included in each of said clusters collects data, which are to be transferred from a processor in the cluster to which the master processor belongs to a processor in another cluster, puts together the collected data to generate transferable data, and transfers the generated transferable data to the master processor of that other cluster.
A fourth inter-cluster data transfer method according to the invention, for use in a hierarchical multiprocessor system in which a plurality of clusters, each of which is a multiprocessor wherein a plurality of processors share a memory, includes the following procedures:
one master processor included in each of said clusters collects data, which are to be transferred from a processor in the cluster to which the master processor belongs to a processor in another cluster, puts together the collected data to generate transferable data, transfers the generated transferable data to the master processor of that other cluster, and at the same time receives transferable data transferred from another cluster.
A fifth inter-cluster data transfer method according to the invention, for use in a hierarchical multiprocessor system in which a plurality of clusters, each of which is a multiprocessor wherein a plurality of processors share a memory, includes the following procedures:
one master processor included in each of said clusters collects data, which are to be transferred from a processor in the cluster to which the master processor belongs to a processor in another cluster, puts together the collected data to generate transferable data, transfers the generated transferable data to the master processor of that other cluster, at the same time receives transferable data transferred from another cluster, and distributes the received transferable data to the processors in the cluster to which it belongs.
A sixth inter-cluster data transfer method according to the invention further includes the following procedure in the third inter-cluster data transfer method:
said master processor, in generating transferable data, generates transferable data by putting together the remaining data after the removal of duplicates from the data collected from a processor in the cluster to which it belongs.
A seventh inter-cluster data transfer method according to the invention further includes the following procedure in the fourth inter-cluster data transfer method:
said master processor, in generating transferable data, generates transferable data by putting together the remaining data after the removal of duplicates from the data collected from a processor in the cluster to which it belongs.
An eighth inter-cluster data transfer method according to the invention further includes the following procedure in the fifth inter-cluster data transfer method:
said master processor, in generating transferable data, generates transferable data by putting together the remaining data after the removal of duplicates from the data collected from a processor in the cluster to which it belongs.
A ninth inter-cluster data transfer method according to the invention further includes the following procedure in the third inter-cluster data transfer method:
said master processor, in collecting data, collects attribute information on the data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster, said information including the initial address and size on the memory in which said data are stored; and at the same time, in generating transferable data; generates transferable data by taking out from the memory the data corresponding to the remaining attribute information after the removal of duplicates from the attribute information on the collected data and putting together the taken-out data.
A tenth inter-cluster data transfer method according to the invention further includes the following procedure in the fourth inter-couster data transfer method:
said master processor, in collecting data, collects attribute information on the data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster, said information including the initial address and size on the memory in which said data are stored; and at the same time, in generating transferable data, generates transferable data by taking out from the memory the data corresponding to the remaining attribute information after the removal of duplicates from the attribute information on the data collected by said data collecting means, and putting together the taken-out data.
An eleventh inter-cluster data transfer method according to the invention further includes the following procedure in the fifth inter-cluster data transfer method:
said master processor, in collecting data, collects attribute information on the data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster, said information including the initial address and size on the memory in which said data are stored; and at the same time, in generating transferable data, generates transferable data by taking out from the memory the data corresponding to the remaining attribute information after the removal of duplicates from the attribute information on the data collected by said data collecting means, and putting together the taken-out data.
A twelfth inter-cluster data transfer method according to the invention further includes the following procedure in the third inter-cluster data transfer method:
said master processor, in collecting data, collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
A thirteenth inter-cluster data transfer method according to the invention further includes the following procedure in the fourth inter-cluster data transfer method:
said master processor, in collecting data, collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
A fourteenth inter-cluster data transfer method according to the invention further includes the following procedure in the fifth inter-cluster data transfer method:
said master processor, in collecting data, collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
A fifteenth inter-cluster data transfer method according to the invention further includes the following procedure in the sixth inter-cluster data transfer method:
said master processor, in collecting data, collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
A sixteenth inter-cluster data transfer method according to the invention further includes the following procedure in the seventh inter-cluster data transfer method:
said master processor, in collecting data, collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
A seventeenth inter-cluster data transfer method according to the invention further includes the following procedure in the eighth inter-cluster data transfer method:
said master processor, in collecting data, collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
An eighteenth inter-cluster data transfer method according to the invention further includes the following procedure in the ninth inter-cluster data transfer method:
said master processor, in collecting data, collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
A nineteenth inter-cluster data transfer method according to the invention further includes the following procedure in the tenth inter-cluster data transfer method:
said master processor, in collecting data, collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.
A twentieth inter-cluster data transfer method according to the invention further includes the following procedure in the eleventh inter-cluster data transfer method:
said master processor, in collecting data, collects at regular time intervals data to be transferred from a processor in the cluster to which it belongs to a processor in another cluster.